package com.servlet.teacher;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
import java.lang.reflect.Array;
import java.util.Arrays;
import java.util.Map;

@WebServlet("/MyformServlet")
public class MyformServlet extends HttpServlet {

    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//http://localhost:8088/MyWeb2/MyformServlet?
// userName=admin&
// pwd=123456&
// confirmPwd=123456&
// gender=%E5%A5%B3&
// married=%E5%B7%B2%E5%A9%9A&
// ah=%E7%BC%96%E7%A8%8B&   ah=%E7%9C%8B%E7%94%B5%E5%BD%B1&   ah=%E6%91%B8%E9%B1%BC&
// id=7788&
// province=hn&
// discription=%E3%80%82%E3%80%82%E3%80%82%E3%80%82%E3%80%82%E3%80%82%E3%80%82

        //提交表单时，url后面附带的参数如上,如何得到这些表单参数值
        //1
        String userName =  request.getParameter("userName");//得到用户名
        String pwd =  request.getParameter("pwd");//得到密码
        String confirmPwd =  request.getParameter("confirmPwd");//得到确认密码
        String gender =  request.getParameter("gender");//得到性别,性别在表单的value值是中文的，浏览器会将中文的参数值编码成16进制的表示法
                                                                // utf8编码的中文占三个字节，因此在地址栏中看到性别的值为 %E5%A5%B3
        String married =  request.getParameter("married");//得到用户名

        String[] ahArray =  request.getParameterValues("ah");//得到用户选择的爱好，ah参数在url中出现的三次，表示请求参数名称重复出现了多次，
                                                         // 要用 getParameterValues方法获得 选中的爱好列表，此方法返回String类型的数组


        String id =  request.getParameter("id");//得到用户名


        String province =  request.getParameter("province");//得到用户名

        String discription =  request.getParameter("discription");//得到用户名


        System.out.println("用户名:"+userName);
        System.out.println("密码:"+pwd);
        System.out.println("确认密码:"+confirmPwd);
        System.out.println("性别:"+gender);
        System.out.println("婚否:"+married);
        System.out.println("爱好:"+ Arrays.toString(ahArray));



       Map<String,String[]> parameterMap =  request.getParameterMap();//将客户在端用的所有请求参数做为key,请求参数值做为value放到map对象中，value类型为String[]数组

        for (Map.Entry<String, String[]> entry : parameterMap.entrySet()) {
            System.out.println( "请求参数名称:"+entry.getKey() + "请求参数值:"+ Arrays.toString( entry.getValue()));
        }

        //此处省略数据库的操作逻辑。。。。

       /* response.setContentType("text/html;charset=utf-8");

        PrintWriter out= response.getWriter();

        out.print("<!DOCTYPE html>");
        out.print("<html><body>");
        out.print("<h1>注册成功</h1>");
        out.print("</body></html>");
        */
        // 此/index.html  的/代表当前项目上下文路径（/MyWeb2/）的根
       request.getRequestDispatcher("/regResult.html").forward(request,response);//请求转发

     //  response.sendRedirect("http://www.taobao.com");//请求重定向
    }
}
